﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BUGCOME.Model.Logs
{
    /// <summary>
    /// 短信验证码记录实体类 - 对应数据库中的短信验证码日志表
    /// </summary>
    [SugarTable("smsCode_log")]
    [Tenant("4")]
    public class SmsCodeLog
    {
        /// <summary>
        /// 唯一标识ID - 主键
        /// </summary>
        [JsonConverter(typeof(ValueToStringConverter))]
        [SugarColumn(IsPrimaryKey = true)]
        public long Id { get; set; }

        /// <summary>
        /// 短信验证码内容
        /// </summary>
        /// <example>888888</example>
        public string SmsCode { get; set; }

        /// <summary>
        /// 关联的用户ID（如已登录用户）
        /// </summary>
        /// <remarks>未注册用户发送验证码时可为0</remarks>
        public long Userid { get; set; }

        /// <summary>
        /// 接收短信的手机号码
        /// </summary>
        /// <example>13800138000</example>
        public long PhoneNum { get; set; }

        /// <summary>
        /// 实际发送的短信完整内容
        /// </summary>
        /// <example>您的验证码是888888，有效期5分钟</example>
        public string SmsContent { get; set; }

        /// <summary>
        /// 短信发送时间 - 由数据库自动生成
        /// </summary>
        [SugarColumn(InsertServerTime = true)]
        public DateTime AddTime { get; set; }

        /// <summary>
        /// 请求发送短信时的用户IP地址
        /// </summary>
        /// <example>192.168.1.1</example>
        public string UserIP { get; set; }

        /// <summary>
        /// 根据IP解析的地理位置信息
        /// </summary>
        /// <example>北京市朝阳区</example>
        public string Location { get; set; }

        /// <summary>
        /// 短信发送类型
        /// </summary>
        /// <value>1=登录验证 2=注册验证 3=找回密码 4=信息变更 5=支付确认</value>
        public int SendType { get; set; }

       
    }
}
